These properties do not exist in a vacuum; they are linked to the semantics of the programming language they describe, and there is a large space of varied languages that can fit these criteria, since the notion of " well typed " program is part of the static semantics of the programming language and the notion of " getting stuck " ( or " going wrong " ) is a property of its dynamic semantics.